home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / dosref21.zip / CONTENTS < prev    next >
Text File  |  1991-09-05  |  23KB  |  417 lines

  1.  
  2.        **  Programmer's Technical Reference for MSDOS and the IBM PC **
  3.                 USA copyright TXG 392-616  ALL RIGHTS RESERVED
  4. ───────────────────────────────┤ DOSREF (tm) ├────────────────────────────────
  5.                      ISBN 1-878830-02-3 (disk-based text)
  6.                     Copyright (c) 1987, 1991 Dave Williams
  7.                         ┌─────────────────────────────┐
  8.                         │ Shareware Version, 09/05/91 │
  9.                         │  Please Register Your Copy  │
  10.                         └─────────────────────────────┘
  11.  
  12.  
  13.  The rest of the chapters aren't included in this shareware demonstration
  14. package.  Since the complete manual takes about 1000k even compressed in
  15. LHarc format, something had to give somewhere.
  16.  
  17.  Here's a sample of what you're missing:
  18.  
  19.  DOS 5 information (mainly in registered chapters 4, and 5)
  20.  
  21.  
  22.  (Chapters 1, 2, and 3 are the same as the registered version, less additions
  23. since this demo was released)
  24.  
  25.  
  26.                                TABLE OF CONTENTS
  27.  
  28.  
  29. INTRO           Introduction, credits, copyrights
  30.  
  31.  
  32. CHAPTER 1       DOS and the PC
  33.  
  34. Some History .......................................................... 1**1
  35. What is DOS? .......................................................... 1**2
  36. Other Operating Systems ............................................... 1**3
  37. Specific Versions of MS/PC-DOS ........................................ 1**4
  38. The Operating System Heirarchy ........................................ 1**5
  39. DOS Structure ......................................................... 1**6
  40. DOS Initialization .................................................... 1**7
  41.  
  42.  
  43. CHAPTER 2       Low Memory and Absolute Addresses
  44.  
  45. Introduction .......................................................... 2**1
  46. System Memory Map ..................................................... 2**2
  47. A Brief Guide to Current Memory Terminology ........................... 2**3
  48. PC Port Assignment .................................................... 2**4
  49. Reserved Memory Locations ............................................. 2**5
  50. Absolute Addresses .................................................... 2**6
  51. The IBM PC System Interrupts (Overview) ............................... 2**7
  52. Quick Chart of Interrupts 00h-0FFh .................................... 2**8
  53. The IBM-PC System Interrupts 00h-0Fh (in detail) ...................... 2**9
  54.  
  55.  
  56. CHAPTER 3       The IBM ROM BIOS
  57.  
  58. Calling the ROM BIOS .................................................. 3**1
  59. Interrupt 10h  Video Services ......................................... 3**2
  60. Interrupt 11h  Equipment Check ........................................ 3**3
  61. Interrupt 12h  Memory Size ............................................ 3**4
  62. Interrupt 13h  Disk Functions ......................................... 3**5
  63. Interrupt 14h  Initialize and Access Serial Port ...................... 3**6
  64.                FOSSIL Drivers ......................................... 3**7
  65. Interrupt 15h  Cassette I/O ........................................... 3**8
  66. Interrupt 16h  Keyboard I/O ........................................... 3**9
  67. Interrupt 17h  Printer ................................................ 3**10
  68. Interrupt 18h  ROM BASIC .............................................. 3**11
  69. Interrupt 19h  Bootstrap Loader ....................................... 3**12
  70. Interrupt 1Ah  Time of Day ............................................ 3**13
  71. Interrupt 1Bh  Control-Break .......................................... 3**14
  72. Interrupt 1Ch  Timer Tick ............................................. 3**15
  73. Interrupt 1Dh  Vector of Video Initialization Parameters .............. 3**16
  74. Interrupt 1Eh  Vector of Diskette Controller Parameters ............... 3**17
  75. Interrupt 1Fh  Ptr to Graphics Character Extensions (Graphics Set 2) .. 3**18
  76.  
  77.  
  78. CHAPTER 4       DOS Function Requests
  79.  
  80. General Programming Guides ............................................ 4**1
  81. DOS Registers ......................................................... 4**2
  82. DOS Stacks ............................................................ 4**3
  83. DOS Interrupts ........................................................ 4**4
  84. Interrupt 20h (Terminate) ............................................. 4**5
  85. DOS Services (quick list) ............................................. 4**6
  86. Calling the DOS Services .............................................. 4**7
  87. Version Specific Information .......................................... 4**8
  88. Compatibility Problems With DOS 4.0+ .................................. 4**9
  89. PCjr Cartridge Support ................................................ 4**10
  90. eDOS 4.0 .............................................................. 4**11
  91. DOS Services in Detail ................................................ 4**12
  92.  
  93.  
  94. CHAPTER 5       Interrupts 22h through 0FFh
  95.  
  96. Interrupt 22h   Terminate Address ..................................... 5**1
  97. Interrupt 23h   Ctrl-Break Exit Address ............................... 5**2
  98. Interrupt 24h   Critical Error Handler ................................ 5**3
  99. Interrupt 25h   Absolute Disk Read .................................... 5**4
  100. Interrupt 26h   Absolute Disk Write ................................... 5**5
  101. Interrupt 27h   Terminate And Stay Resident ........................... 5**6
  102. Interrupt 28h   (not documented by Microsoft) ......................... 5**7
  103. Interrupt 29h   (not documented by Microsoft) ......................... 5**8
  104. Interrupt 2Ah   Microsoft Networks - Session Layer Interrupt .......... 5**9
  105. Interrupt 2Bh   Unknown ............................................... 5**10
  106. Interrupt 2Ch   Unknown ............................................... 5**11
  107. Interrupt 2Dh   Unknown ............................................... 5**12
  108. Interrupt 2Eh   Alternate EXEC (DOS 2.0+) ............................. 5**13
  109. Interrupt 2Fh   Multiplex Interrupt ................................... 5**14
  110. Interrupt 30h   FAR jump instruction for CP/M-style calls ............. 5**15
  111. Interrupt 31h   Unknown ............................................... 5**16
  112. Interrupt 32h   Unknown ............................................... 5**17
  113. Interrupt 33h   Used by Microsoft Mouse Driver Function Calls ......... 5**18
  114. Interrupt 34h   Turbo C/Microsoft languages - Floating Point emulation  5**19
  115. Interrupt 35h   Turbo C/Microsoft languages - Floating Point emulation  5**20
  116. Interrupt 36h   Turbo C/Microsoft languages - Floating Point emulation  5**21
  117. Interrupt 37h   Turbo C/Microsoft languages - Floating Point emulation  5**22
  118. Interrupt 38h   Turbo C/Microsoft languages - Floating Point emulation  5**23
  119. Interrupt 39h   Turbo C/Microsoft languages - Floating Point emulation  5**24
  120. Interrupt 3Ah   Turbo C/Microsoft languages - Floating Point emulation  5**25
  121. Interrupt 3Bh   Turbo C/Microsoft languages - Floating Point emulation  5**26
  122. Interrupt 3Ch   Turbo C/Microsoft languages - Floating Point emulation  5**27
  123. Interrupt 3Dh   Turbo C/Microsoft languages - Floating Point emulation  5**28
  124. Interrupt 3Eh   Turbo C/Microsoft languages - Floating Point emulation  5**29
  125. Interrupt 3Fh   Overlay Manager Interrupt (Microsoft LINK.EXE) ........ 5**30
  126. Interrupt 40h   Hard Disk BIOS ........................................ 5**31
  127. Interrupt 41h   Hard Disk Parameters .................................. 5**32
  128. Interrupt 42h   Pointer to screen BIOS entry .......................... 5**33
  129. Interrupt 43h   Pointer to EGA Graphics Character Table ............... 5**34
  130. Interrupt 44h   Pointer to graphics character table ................... 5**35
  131. Interrupt 45h   Reserved by IBM  (not initialized) .................... 5**36
  132. Interrupt 46h   Pointer to second hard disk parameter block ........... 5**37
  133. Interrupt 47h   Reserved by IBM  (not initialized) .................... 5**38
  134. Interrupt 48h   Cordless Keyboard Translation ......................... 5**39
  135. Interrupt 49h   Non-keyboard Scan Code Translation Table Address (PCjr) 5**40
  136. Interrupt 4Ah   Real-Time Clock Alarm (Convertible, PS/2) ............. 5**41
  137. Interrupt 4Bh   Reserved by IBM  (not initialized) .................... 5**42
  138. Interrupt 4Ch   Reserved by IBM  (not initialized) .................... 5**43
  139. Interrupt 4Dh   Reserved by IBM  (not initialized) .................... 5**44
  140. Interrupt 4Eh   Reserved by IBM  (not initialized) .................... 5**45
  141. Interrupt 4Fh   Reserved by IBM  (not initialized) .................... 5**46
  142. Interrupt 50-57 IRQ0-IRQ7 Relocation .................................. 5**47
  143. Interrupt 58h   Reserved by IBM  (not initialized) .................... 5**48
  144. Interrupt 59h   Reserved by IBM  (not initialized) .................... 5**49
  145. Interrupt 5Ah   Reserved by IBM  (not initialized)  ................... 5**50
  146. Interrupt 5Bh   Reserved by IBM  (not initialized) .................... 5**51
  147. Interrupt 5Ah   Cluster Adapter BIOS entry address .................... 5**52
  148. Interrupt 5Bh   Reserved by IBM  (not initialized) .................... 5**53
  149. Interrupt 5Ch   NETBIOS interface entry port, TOPS .................... 5**54
  150. Interrupt 5Dh   Reserved by IBM  (not initialized) .................... 5**55
  151. Interrupt 5Eh   Reserved by IBM  (not initialized) .................... 5**56
  152. Interrupt 5Fh   Reserved by IBM  (not initialized) .................... 5**57
  153. Interrupt 60h-67h  User Program Interrupts ............................ 5**58
  154. Interrupt 60h   Network OS Interface .................................. 5**59
  155. Interrupt 67h   Expanded Memory Board Driver Interrupt ................ 5**60
  156. Interrupt 68h   Not Used  (not initialized) ........................... 5**61
  157. Interrupt 69h   Not Used  (not initialized) ........................... 5**62
  158. Interrupt 6Ah   Not Used  (not initialized) ........................... 5**63
  159. Interrupt 6Bh   Not Used  (not initialized) ........................... 5**64
  160. Interrupt 6Ch   System Resume Vector (Convertible) .................... 5**65
  161. Interrupt 6Dh   Not Used  (not initialized) ........................... 5**66
  162. Interrupt 6Eh   Not Used  (not initialized) ........................... 5**67
  163. Interrupt 6Fh   10-Net API............................................. 5**68
  164. Interrupt 70h   IRQ 8, Real Time Clock Interrupt (AT, XT/286, PS/2) ... 5**69
  165. Interrupt 71h   IRQ 9, Redirected to IRQ 8 (AT, XT/286, PS/2) ......... 5**70
  166. Interrupt 72h   IRQ 10  (AT, XT/286, PS/2)  Reserved .................. 5**71
  167. Interrupt 73h   IRQ 11  (AT, XT/286, PS/2)  Reserved .................. 5**72
  168. Interrupt 74h   IRQ 12  Mouse Interrupt (PS/2) ........................ 5**73
  169. Interrupt 75h   IRQ 13, Coprocessor Error (AT) ........................ 5**74
  170. Interrupt 76h   IRQ 14, Hard Disk Controller (AT, XT/286, PS/2) ....... 5**75
  171. Interrupt 77h   IRQ 15 (AT, XT/286, PS/2)  Reserved ................... 5**76
  172. Interrupt 78h   Not Used .............................................. 5**77
  173. Interrupt 79h   Not Used .............................................. 5**78
  174. Interrupt 7Ah   Reserved .............................................. 5**79
  175. Interrupt 7Bh-7Eh  Not Used by IBM .................................... 5**80
  176. Interrupt 7Ch   REXX-PC API ........................................... 5**81
  177. Interrupt 7Fh   IBM 8514/A Graphics Adapter API ....................... 5**82
  178. Interrupt 80h-85h  Reserved by BASIC .................................. 5**83
  179. Interrupt 86h   Int 18 when relocated by NETBIOS ...................... 5**84
  180. Interrupt 86h-0F0h  Used by BASIC when BASIC interpreter is running ... 5**85
  181. Interrupt 0A4h  Right Hand Man API .................................... 5**86
  182. Interrupt 0D4h  PC-MOS/386 API ........................................ 5**87
  183. Interrupt 0E0h  Digital Research CP/M-86 function calls ............... 5**88
  184. Interrupt 0E1h  PC Cluster Disk Server Information .................... 5**89
  185. Interrupt 0E2h  PC Cluster Program .................................... 5**90
  186. Interrupt 0E4h  Logitech Modula-2 v2.0   Monitor Entry ................ 5**91
  187. Interrupt 0E5h  Not Used .............................................. 5**92
  188. Interrupt 0E6h  Not Used .............................................. 5**93
  189. Interrupt 0E7h  Not Used .............................................. 5**94
  190. Interrupt 0E8h  Not Used .............................................. 5**95
  191. Interrupt 0E9h  Not Used .............................................. 5**96
  192. Interrupt 0EAh  Not Used .............................................. 5**97
  193. Interrupt 0EBh  Not Used .............................................. 5**98
  194. Interrupt 0ECh  Not Used .............................................. 5**99
  195. Interrupt 0EDh  Not Used ............................................. 5**100
  196. Interrupt 0EEh  Not Used ............................................. 5**101
  197. Interrupt 0EFh  GEM interface (Digital Research) ..................... 5**102
  198. Interrupt 0F0h  unknown .............................................. 5**103
  199. Interrupts 0F1h-0FFh  (absolute addresses 3C4h-3FFh) ................. 5**104
  200. Interrupt 0F4h  Not Used ............ ................................ 5**105
  201. Interrupt 0F5h  Not Used ............ ................................ 5**106
  202. Interrupt 0F8h  Set Shell Interrupt (OEM) ............................ 5**107
  203. Interrupt 0F9h  Reserved ............................................. 5**108
  204. Interrupt 0FAh  USART ready (RS-232C) ................................ 5**109
  205. Interrupt 0FBh  USART RS ready (keyboard) ............................ 5**110
  206. Interrupt 0FCh  Unknown ...............................................5**111
  207. Interrupt 0FDh  reserved for user interrupt .......................... 5**112
  208. Interrupt 0FEh  reserved by IBM ...................................... 5**113
  209. Interrupt 0FFh  reserved by IBM ...................................... 5**114
  210.  
  211.  
  212.  
  213. CHAPTER 6       DOS Control Blocks and Work Areas
  214.  
  215. DOS Address Space ..................................................... 6**1
  216. Storage Blocks ........................................................ 6**2
  217. Disk Transfer Area (DTA) .............................................. 6**3
  218. Program Segment Prefix ................................................ 6**4
  219. Memory Control Blocks ................................................. 6**5
  220. DOS Program Segment ................................................... 6**6
  221.  
  222.  
  223. CHAPTER 7       DOS File Information
  224.  
  225. File Management Functions ............................................. 7**1
  226. FCB Function Calls .................................................... 7**2
  227. Handle Function Calls ................................................. 7**3
  228. Special File Handles .................................................. 7**4
  229. Raw and Cooked File I/O ............................................... 7**5
  230. Number of Open Files Allowed  ......................................... 7**6
  231. Restrictions on FCB Usage ............................................. 7**7
  232. Restrictions on Handle usage .......................................... 7**8
  233. Allocating Space to a File ............................................ 7**9
  234. MSDOS / PCDOS Differences ............................................. 7**10
  235. .COM File Structure ................................................... 7**11
  236. .EXE File Structure ................................................... 7**12
  237. The Relocation Table .................................................. 7**13
  238. "NEW" .EXE Format (Microsoft Windows and OS/2) ........................ 7**14
  239. Standard File Control Block ........................................... 7**15
  240. Extended File Control Block ........................................... 7**16
  241. Disk Transfer Area .................................................... 7**17
  242.  
  243.  
  244. CHAPTER 8       DOS Disk Information
  245.  
  246. The DOS Area .......................................................... 8**1
  247. The Boot Record ....................................................... 8**2
  248. DOS File Allocation Table (FAT) ....................................... 8**3
  249.         Media Descriptor Byte ......................................... 8**4
  250.         12 Bit FATs ................................................... 8**5
  251.         16 Bit FATs ................................................... 8**6
  252.         32 Bit FATs ................................................... 8**7
  253. DOS Disk Directory .................................................... 8**8
  254. The Data Area ......................................................... 8**9
  255. Floppy Disk Types ..................................................... 8**10
  256. Hard Disk Layout ...................................................... 8**11
  257. System Initialization ................................................. 8**12
  258. Boot Record/Partition Table ........................................... 8**13
  259. Hard Disk Technical Information ....................................... 8**14
  260. Determining Hard Disk File Allocation ................................. 8**15
  261. BIOS Disk Functions ................................................... 8**16
  262.  
  263.  
  264. CHAPTER 9       Device Drivers
  265.  
  266.  
  267. CHAPTER 10      Lotus/Intel/Microsoft Expanded Memory Specification
  268.  
  269. History ............................................................... 10**1
  270. Uses of Expanded Memory ............................................... 10**2
  271. DOS and Expanded Memory ............................................... 10**3
  272. Different Memory Types ................................................ 10**4
  273. AST/Quadram/Ashton-Tate Enhanced EMM .................................. 10**5
  274. EMS Address Space Map ................................................. 10**6
  275. Writing Programs That Use Expanded Memory ............................. 10**7
  276. Page Frames ........................................................... 10**8
  277. Calling the Manager ................................................... 10**9
  278. Detecting EMS ......................................................... 10**10
  279. Terminate and Stay Resident (TSR) Program Cooperation ................. 10**11
  280. Expanded Memory Services Quick List ................................... 10**12
  281. Expanded Memory Services .............................................. 10**13
  282.         LIM 3.2 Specification ......................................... 10**14
  283.         LIM 4.0 Specification ......................................... 10**15
  284.         AQA EEMS 3.2 Specification .................................... 10**16
  285.         VCPI API 1.0 .................................................. 10**17
  286. Expanded Memory Manager Error Codes ................................... 10**18
  287. Microsoft Extended Memory Specification 2.0 ........................... 10**19
  288.  
  289.  
  290. CHAPTER 11      Conversion Between Operating Systems
  291.  
  292. Overview .............................................................. 11**1
  293. Special Considerations ................................................ 11**2
  294. Example Operating Systems ............................................. 11**3
  295. Atari ST .............................................................. 11**4
  296. CP/M .................................................................. 11**5
  297. MacOS ................................................................. 11**6
  298. AmigaDOS .............................................................. 11**7
  299. OS/2 .................................................................. 11**8
  300. UNIX .................................................................. 11**9
  301.  
  302.  
  303. CHAPTER 12      Microsoft Windows API
  304.  
  305. Overview .............................................................. 12**1
  306. Programming Windows ................................................... 12**2
  307. Versions .............................................................. 12**3
  308. Functions ............................................................. 12**4
  309. Error Codes ........................................................... 12**5
  310.  
  311.  
  312. CHAPTER 13      Network APIs
  313.  
  314. FTP Driver - PC/TCP Packet Driver Specification ....................... 13**1
  315. 10-Net Network ........................................................ 13**2
  316. LANtastic LANOS API ................................................... 13**3
  317. Novell NetWare 2.11 API ............................................... 13**4
  318. APPC/PC ............................................................... 13**5
  319.  
  320.  
  321. CHAPTER 14      Mouse Programming
  322.  
  323. General Information ................................................... 14**1
  324. Register Usage ........................................................ 14**2
  325. Interrupt 33h Function Requests ....................................... 14**3
  326. Interrupt 10h Function Requests ....................................... 14**4
  327.  
  328.  
  329. CHAPTER 15      Register-Level Programming
  330.  
  331. 8555 Peripheral Interface ............................................. 15**1
  332. 8259 Interrupt Controller ............................................. 15**2
  333. AT CMOS RAM Configuration ............................................. 15**3
  334.  
  335.  
  336. CHAPTER 16      Video Programming
  337.  
  338. Quick List of BIOS Interrupt 10h Functions ............................ 16**1
  339. BIOS Interrupt 10h Functions in Detail ................................ 16**2
  340.  
  341.  
  342. CHAPTER 17      Multitasking Shells
  343.  
  344. Introduction .......................................................... 17**1
  345. Programming Practices ................................................. 17**2
  346. TopView/DESQview API (interrupt 15h, "System Services" interface) ..... 17**3
  347. TopView/DESQview API (interrupt 16h, "BIOS Video" interface) .......... 17**4
  348.  
  349.  
  350. CHAPTER 18      Viruses and Trojan Horses
  351.  
  352.  
  353. CHAPTER 19      Tips and Tricks
  354.  
  355.  
  356. MISCSTUF        Miscellaneous Stuff
  357.  
  358. AFTERWRD        Afterword
  359.  
  360. CREDITS         Credits and Bibliography
  361.  
  362.  
  363.  
  364.  A P P E N D I C E S
  365.  
  366. APPENDIX  1     Keyboard scan code chart
  367.  
  368. APPENDIX  2     ASCII character chart
  369.  
  370. APPENDIX  3     IBM PC character set
  371.  
  372. APPENDIX  4     IBM PC error code listing
  373.  
  374. APPENDIX  5     Addresses of various manufacturers
  375.  
  376. APPENDIX  6     Hard disk information
  377.  
  378. APPENDIX  7     Floppy and Tape Devices
  379.  
  380. APPENDIX  8     Pinouts of various connectors on the IBM PC
  381.  
  382. APPENDIX  9     Sizes of various drivers installed in CONFIG.SYS
  383.  
  384. APPENDIX  10    Common modem instruction sets
  385.  
  386. APPENDIX  11    Glossary of computer terminology
  387.  
  388. APPENDIX  12    Various busses used in MSDOS machines
  389.  
  390. APPENDIX  13    Common filename extensions
  391.  
  392. APPENDIX  14    Clock speeds of various expansion cards
  393.  
  394. APPENDIX  15    Header formats used by various archive utilities
  395.  
  396. APPENDIX  16    Miscellaneous Hardware Information
  397.  
  398. APPENDIX  17    HP LaserJet Setup Codes
  399.  
  400. APPENDIX  18    ANSI.SYS Escape Sequences
  401.  
  402. APPENDIX  19    DEC VT100 Escape Sequences
  403.  
  404. APPENDIX  20    Various Paint Program Formats
  405.  
  406. APPENDIX  21    Some Commonly Used Hot-Keys
  407.  
  408. APPENDIX  22    Sound Blaster API
  409.  
  410. APPENDIX  23    French-Canadian accented character chart
  411.  
  412. APPENDIX  24    Compuserve Graphic Image Format '89a
  413.  
  414. APPENDIX  25    Hex Chart
  415.  
  416. APPENDIX  26    Microsoft TSR Specification 1.0
  417.